﻿using System;
using System.Collections.Generic;
using System.Linq;
namespace LWH.ByteProtocol
{
    /// <summary>
    /// Short类型包装类
    /// </summary>
    public class ShortValueProperty : WrapperAbstractProperty
    {
        ByteConverter.ByteOrder mByteOrder = ByteConverter.ByteOrder.BIG_ENDIAN;

        public ShortValueProperty(AbstractProperty wrappedProperty, ByteConverter.ByteOrder byteOrder = ByteConverter.ByteOrder.BIG_ENDIAN) : base(wrappedProperty)
        {
            mByteOrder = byteOrder;
        }

        public short getValue()
        {
            return ByteConverter.getShort(getData(), 0, mByteOrder);
        }

        public void setValue(short value)
        {
            byte[] valueByte = ByteConverter.getBytes(value, mByteOrder);
            setData(valueByte, 0, valueByte.Length);
        }
        //public short Value
        //{
        //    get
        //    {
        //        return ByteConverter.getShort(getData(), 0, mByteOrder);
        //    }

        //    set
        //    {
        //        byte[] valueByte = ByteConverter.getBytes(value, mByteOrder);
        //        setData(valueByte, 0, valueByte.Length);
        //    }
        //}
    }
}
